package ejemplojdbc;

import java.sql.*;
import java.util.*;

public class Ejemplojdbc {

    public static void main(String[] args) throws ClassNotFoundException {
        conexionMySQL();
    }
    
    public static void conexionMySQL() throws ClassNotFoundException {
        Connection con = null;
        
        try {
//            Class.forName("com.mysql.jdbc.driver");
            con = DriverManager.getConnection("jdbc:mysql://localhost/liga", "root", "");
            System.out.println("Conexión correcta :)");
//            insertarJugador(con);
//            actualizarJugador(con);
//            eliminarJugador(con);
            verJugador(con);
            con.close();
            
        } catch (SQLException ex) {
            System.out.println("Error en la conexión... " + ex.getMessage());
        }
    }
    
    public static void verJugador(Connection con) {
        Statement stmt = null;
        
        String query = "SELECT * FROM jugador";
        
        try {
            stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery(query);
            
            while(rs.next()) {
                int id_jugador = rs.getInt("id_jugador");
                String nombre = rs.getString("nombre");
                String apellido = rs.getString("apellido");
                String posicion = rs.getString("posicion");
                double salario = rs.getDouble("salario");
                
                //Mostramos los datos
                System.out.println("*****************************************");
                System.out.println("El id es: " + id_jugador);
                System.out.println("El nombre es: " + nombre);
                System.out.println("Los apellidos son: " + apellido);
                System.out.println("La posición del jugador es: " + posicion);
                System.out.println("El salario es: " + salario);
                System.out.println("*****************************************");
            }
            //Cerramos el Statement
            stmt.close();
            
        } catch (SQLException ex) {
            System.out.println("Error SQL: " + ex.getMessage());
        }
    }
    
    public static void insertarJugador(Connection con) throws SQLException {
        Scanner sc = new Scanner(System.in);
        
        System.out.print("ID: ");
        int id = sc.nextInt();
        System.out.print("Nombre: ");
        String nombre = sc.next();
        System.out.print("Apellidos: ");
        String apellido = sc.next();
        System.out.print("Posición: ");
        String posicion = sc.next();
        System.out.print("Salario: ");
        double salario = sc.nextDouble();
        
        Statement stmt = null;
        
        String query = "INSERT INTO jugador(id_jugador, nombre, apellido, posicion, salario) VALUES"
             + "(" + id + ",'" + nombre + "','" + apellido + "','" + posicion + "'," + salario + ");";
        
        try {
            stmt = con.createStatement();
            stmt.executeUpdate(query);
            
        } catch (SQLException ex) {
            System.out.println("Error SQL: " + ex.getMessage());
        } finally {
            stmt.close();
        }
    }
    
    public static void actualizarJugador(Connection con) throws SQLException {
        Scanner sc = new Scanner(System.in);
        
        System.out.println("Actualizar tabla jugador: ");
        System.out.println("-------------------------------------------------");
        System.out.print("ID: ");
        int id = sc.nextInt();
        System.out.print("Nombre: ");
        String nombre = sc.next();
        System.out.print("Apellidos: ");
        String apellido = sc.next();
        System.out.print("Posición: ");
        String posicion = sc.next();
        System.out.print("Salario: ");
        double salario = sc.nextDouble();
        
        Statement stmt = null;
        
        String query = "UPDATE jugador SET nombre ='" + nombre + "', apellido ='" + apellido
                + "', posicion ='" + posicion + "', salario =" + salario + " WHERE id_jugador =" + id + ";";
        
        try {
            stmt = con.createStatement();
            stmt.executeUpdate(query);
            
        } catch (SQLException ex) {
            System.out.println("Error SQL: " + ex.getMessage());
        } finally {
            stmt.close();
        }
    }
    
    public static void eliminarJugador(Connection con) throws SQLException {
        Scanner sc = new Scanner(System.in);
        
        System.out.println("Eliminar tabla jugador: ");
        System.out.print("ID: ");
        int id = sc.nextInt();
        
        Statement stmt = null;
        
        String query = "DELETE FROM jugador WHERE id_jugador =" + id + ";";
        
        try {
            stmt = con.createStatement();
            stmt.executeUpdate(query);
            
        } catch (SQLException ex) {
            System.out.println("Error SQL: " + ex.getMessage());
        } finally {
            stmt.close();
        }
    }
    
    public static void holaHolita() {
        System.out.println("Holi :)");
    }
}